//  ts 中函数类型：定义函数的声明和返回
export { }  //确保与其他成员冲突，独立作用域

// 函数中限制在参数和返回值,...rest[]接收任意多参数
 function sum(a:number,b:number=10,...rest:number[]):string{   //默认限定参数类型及个数；限定函数返回类型
    // function sum(a:number,b?:number):string{    //可选参数
        // function sum(a:number,b:number=10):string{   //默认参数
        // function sum(a:number,b:number=10,...rest:number[]):string{   //es6接收任意参数
     return 'str'
 }

 sum(100,200)
//  sum('100',200)
//  sum('100',200,false)


// 函数表达式限制函数的参数和返回值
// 多用于定义函数接口
const fn:(a: number, b: number) => string= function(a:number,b:number):string{
    return 'str'
}